﻿Imports EntitiesLayer

'---------------------------------------> Clase creada por Diego Barillas <----------------------------------------

Public Class frmAsociarMusculosAEjercicio

    Dim listaMusculos As List(Of Musculo) = New List(Of Musculo) 'lista que almacena los musculos que se le dan check

    Private Sub btnCancelar_Click(sender As Object, e As EventArgs) Handles btnCancelar.Click
        Me.Close()
        frmTransparente.Close() 'Cerrar form transparente
        frmRegistrarEjercicio.Close() 'Cerrar primer form de registrar ejercicio
        frmRegistrarImagenesEjercicio.Close() 'Cerrar form que registrar imagenes
    End Sub

    Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles PictureBox1.Click
        Me.Hide()
        frmRegistrarImagenesEjercicio.Show() 'boton que se devuelve a la pagina anterior
    End Sub

    Private Sub frmAsociarMusculosAEjercicio_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        tblMusculos.DataSource = objGestor.listaMusculos()

        tblMusculos.Columns(1).Visible = False
        tblMusculos.Columns(3).HeaderText = "Irrigación"
        tblMusculos.Columns(5).HeaderText = "Inserción"
        tblMusculos.Columns(6).HeaderText = "Inervación"
        'tblMusculos.Columns(0).ReadOnly = False
        tblMusculos.Columns(0).Width = 120 'tamanno de los headers
        tblMusculos.Columns(2).Width = 200
        tblMusculos.Columns(3).Width = 200
        tblMusculos.Columns(4).Width = 200
        tblMusculos.Columns(5).Width = 200
        tblMusculos.Columns(6).Width = 200
        tblMusculos.Columns(2).ReadOnly = True 'propiedad para que no pueda editarse la celda
        tblMusculos.Columns(3).ReadOnly = True 'propiedad para que no pueda editarse la celda
        tblMusculos.Columns(4).ReadOnly = True 'propiedad para que no pueda editarse la celda
        tblMusculos.Columns(5).ReadOnly = True 'propiedad para que no pueda editarse la celda


    End Sub


    Private Sub btnRegistrar_Click(sender As Object, e As EventArgs) Handles btnRegistrar.Click

        For Each dRow As DataGridViewRow In tblMusculos.Rows 'recorre cada fila del data grid

            If dRow.Cells.Item("Asociado").Value = True Then 'si la celda esta true es por que se le dio check

                listaMusculos.Add(objGestor.listaMusculos.ElementAt(Convert.ToUInt32(dRow.Index))) 'agrega el elemento a la lista de musculos

            End If
        Next dRow

        If listaMusculos.Count = 0 Then 'valida si hay un musculo en la lista de musculos
            lblMusculosAsociados.Visible = True ' si no hay musculos muestra el label 
        Else

            Dim nombreComun As String = frmRegistrarEjercicio.txtNombreComun.Text
            Dim nombreOpcional As String = frmRegistrarEjercicio.txtNombreOpcional.Text
            Dim codigo As String = frmRegistrarEjercicio.txtCodigo.Text
            Dim erroresComunes As String = frmRegistrarEjercicio.txtErroresComunes.Text
            Dim indicacionesGenerales As String = frmRegistrarEjercicio.txtIndicaciones.Text
            Dim nombreMusculoPrincipal As String = frmRegistrarEjercicio.cmbMusculos.SelectedItem 'guarda el musculo seleccionado
            Dim imagenInicial As String = bytesToString(frmRegistrarImagenesEjercicio.imagenEnbyte1) 'convierte la imagen tipo byte en string
            Dim imagenFinal As String = bytesToString(frmRegistrarImagenesEjercicio.imagenEnbyte2) 'convierte la imagen tipo byte en string

            objGestor.agregarEjercicio(nombreComun, nombreOpcional, codigo, imagenInicial, imagenFinal, nombreMusculoPrincipal, listaMusculos, erroresComunes, indicacionesGenerales) 'llama el metodo registrar en el gestor

            MsgBox("Se registro el ejercicio correctamente")

            'Esto sirve para recargar el dataGrid de ejercicios para que aparezca el ejercicio registrado
            FrmPrincipal.paneForm.Controls.Clear()
            Dim frm As New Control
            frm = New frmConsultarEjercicios
            frm.Dock = DockStyle.Fill
            FrmPrincipal.paneForm.Controls.Add(frm)
            '--------------------------------------------------------------------------------------------
            'cierra los forms
            Me.Close()
            frmTransparente.Close()
            frmRegistrarEjercicio.Close()
            frmRegistrarImagenesEjercicio.Close()
            '--------------------------------------------------------------------------------------------
        End If
    End Sub
End Class